/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Dominio;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author halt
 */
public class Reserva implements Serializable{
    int dia,mes,ano;
    int hora; //HHMM
    float precio;
    String nombreReserva;
    String apellido;
    boolean finalizada;
    List<Zona> lz;
    private int telefono;
    private int fototipo;
    private int intensidad;
    private int color;
    private String comentario;

    public String getComentario() {
        return comentario;
    }

    public void setComentario(String comentario) {
        this.comentario = comentario;
    }
    public Reserva() {
        finalizada = false;
        nombreReserva = "Sin definir";
        precio = 0;
        lz = new ArrayList<Zona>();
    }

    void modificarPrecio(Zona z) {
        this.precio = this.precio + z.precioZona;
    }

    void agregarZona(Zona z) {
        lz.add(z);
       // modificarPrecio(z);
        //POST: Agregamos una nueva zona para la reserva
        //e incrementamos su precio
    }

    void setFecha(int dia, int mes, int ano) {
        this.dia = dia;
        this.mes = mes;
        this.ano = ano;
    }

    void setHora(int hora) {
        this.hora = hora;
    }

    public int getDia() {return this.dia;}
    public int getMes() {return this.mes;}
    public int getAno() {return this.ano;}
    public int getHora() {return this.hora;}
    public List<Zona> getListZona() {return this.lz;}
    
    public String[][] getInfoZonas() {
        int n =  lz.size();
        String [][] zonasS = new String[n][3];
        for (int i = 0; i < n; ++i) {
            zonasS[i][0] = String.valueOf(lz.get(i).id);
            zonasS[i][1] = String.valueOf(lz.get(i).precioZona);
            zonasS[i][2] = lz.get(i).descripcion;
        }
        return zonasS;
    }
    
    void setNombreReserva(String nombre) {
        this.nombreReserva = nombre;
    }

    String getNombreReserva() {
        return this.nombreReserva;
    }

    void finalizarReserva() {
        this.finalizada = true;
    }

    boolean reservaFinalizada() {
        return this.finalizada;
    }

    void setApellido(String apellido) {
        this.apellido = apellido;
    }

    void setTelefono(int telefono) {
        this.telefono = telefono;

    }

    void setFototipo(int fototipo) {
        this.fototipo = fototipo;
    }

    void setIntensidad(int intensidad) {
        this.intensidad = intensidad;
    }

    void setColor(int color) {
        this.color = color;
    }
    void setPrecio(float precio) {
        this.precio = precio;
    }

    public String getNombre() {return this.nombreReserva;}
    public String getApellido() {return this.apellido;}
    public int getTelefono() {return this.telefono;}
    public int getFototipo() {return this.fototipo;}
    public int getIntensidad() {return this.intensidad;}
    public int getColor() {return this.color;}
    public float getPrecio() {return this.precio;}
}
